Xtics

Fine control of the major (labelled) tics on the x axis is possible with the set xtics command. The tics may be turned off with the set noxtics command, and may be turned on (the default state) with set xtics. Similar commands control the major tics on the y, z, x2 and y2 axes.

Syntax:

     set xtics {axis | border} {{no}mirror} {{no}rotate}
               {  autofreq
                | <incr>
                | <start>, <incr> {,<end>}
                | ({"<label>"} <pos> {,{"<label>"} <pos>}...) }
     set noxtics
     show xtics

The same syntax applies to ytics, ztics, x2tics and y2tics.

axis or border tells gnuplot to put the tics (both the tics themselves and the accompanying labels) along the axis or the border, respectively. If the axis is very close to the border, the axis option can result in tic labels overwriting other text written in the margin.

mirror tells gnuplot to put unlabelled tics at the same positions on the opposite border. nomirror does what you think it does.

rotate asks gnuplot to rotate the text through 90 degrees, which will be done if the terminal driver in use supports text rotation. norotate cancels this.

The defaults are border mirror norotate for tics on the x and y axes, and border nomirror norotate for tics on the x2 and y2 axes. For the z axis, the the {axis | border} option is not available and the default is nomirror. If you do want to mirror the z-axis tics, you might want to create a bit more room for them with set border.

set xtics with no options restores the default border or axis if xtics are being displayed; otherwise it has no effect. Any previously specified tic frequency or position {and labels} are retained.

Positions of the tics are calculated automatically by default or if the autofreq option is given; otherwise they may be specified in either of two forms:

The implicit <start>, <incr>, <end> form specifies that a series of tics will be plotted on the axis between the values <start> and <end> with an increment of <incr>. If <end> is not given, it is assumed to be infinity. The increment may be negative. If neither <start> nor <end> is given, <start> is assumed to be negative infinity, <end> is assumed to be positive infinity, and the tics will be drawn at integral multiples of <step>. If the axis is logarithmic, the increment will be used as a multiplicative factor.

Examples:

Make tics at 0, 0.5, 1, 1.5, ..., 9.5, 10.

     set xtics 0,.5,10

Make tics at ..., -10, -5, 0, 5, 10, ...

     set xtics 5

Make tics at 1, 100, 1e4, 1e6, 1e8.

     set logscale x; set xtics 1,100,10e8

The explicit ("<label>" <pos>, ...) form allows arbitrary tic positions or non-numeric tic labels. A set of tics is a set of positions, each with its own optional label. Note that the label is a string enclosed by quotes. It may be a constant string, such as "hello", may contain formatting information for converting the position into its label, such as "%3f clients", or may be empty, "". See set format for more information. If no string is given, the default label (numerical) is used. In this form, the tics do not need to be listed in numerical order.

Examples:

     set xtics ("low" 0, "medium" 50, "high" 100)
     set xtics (1,2,4,8,16,32,64,128,256,512,1024)
     set ytics ("bottom" 0, "" 10, "top" 20)

In the second example, all tics are labelled. In the third, only the end tics are labelled.

However they are specified, tics will only be plotted when in range.

Format (or omission) of the tic labels is controlled by set format, unless the explicit text of a labels is included in the set xtic (<label>) form.

Minor (unlabelled) tics can be added by the set mxtics command.

In case of timeseries data, position values must be given as quoted dates or times according to the format timefmt. If the <start>, <incr>, <end> form is used, <start> and <end> must be given according to timefmt, but <incr> must be in seconds. Times will be written out according to the format given on set format, however.

Examples:

     set xdata time
     set timefmt "%d/%m"
     set format x "%b %d"
     set xrange ["01/12":"06/12"]
     set xtics "01/12", 172800, "05/12"

     set xdata time
     set timefmt "%d/%m"
     set format x "%b %d"
     set xrange ["01/12":"06/12"]
     set xtics ("01/12", "" "03/12", "05/12")
Both of these will produce tics "Dec 1", "Dec 3", and "Dec 5", but in the second example the tic at "Dec 3" will be unlabelled.